public class Matrix
{
	private int[][] array;
	private boolean d; // true = hauptdiagonale ; false = nebendiagonale
	private boolean q; //quadratisch? true = ja false = nein
	private int zeile;
	private int spalte;

	
	public void fillMatrix(int zeile, int spalte)
	{
		java.util.Scanner eingabe = new java.util.Scanner (System.in);
		System.out.println("Mit welchen Ziffern soll die Matrix befüllt werden?");
		int choice = eingabe.nextInt();
		int i,j;
		
		for(i=0;i<array.length;i++)
		{
			// System.out.println("SRY");
			for(j=0;j<array[0].length;j++)
			{
				array[i][j] = choice;
			}
		}
		
	}
	
	public void makeMatrix(boolean q,int zeile,int spalte)
	{
		if(q)
		{
			array = new int[zeile][zeile];
			fillMatrix(zeile,zeile);
			this.zeile = zeile;
			this.spalte = zeile;
			java.util.Scanner eingabe = new java.util.Scanner(System.in);
			System.out.println("Haupt oder nebendiagonale?(true/false)");
			boolean bool = eingabe.nextBoolean();
			print();
			writeDiag(bool);	
		}
		else
		{
			array = new int[zeile][spalte];
			fillMatrix(zeile,spalte);
			print();
		}
	
	}
	
	public void print()
	{
		int i,j;
		
		for(i=0;i<zeile;i++)
		{
			for(j=0;j<spalte;j++)
			{
				System.out.print("\t"+array[i][j]);
			}
			System.out.println("\n");
		}
			
	}
	
	public void writeDiag(boolean d)
	{
		int i,j;
		java.util.Scanner eingabe = new java.util.Scanner (System.in);
		System.out.println("Mit welchen Ziffern soll die Diagonale gezeichnet werden?");
		int choice = eingabe.nextInt();
		
		if(d)
		{
			for(i=0;i<array.length;i++)
			{
			// System.out.println("SRY");
				for(j=0;j<array[0].length;j++)
				{
					if(i==j)
					{
						array[i][j] = choice;
					}
				}
			}
		}
		else
		{
			for(i=0;i<array.length;i++)
				{
				// System.out.println("SRY");
					for(j=0;j<array[0].length;j++)
					{
						if(i+j == array.length-1)
						{
							array[i][j] = choice;
						}
					}
				}
			
		}
		
		print();
	}
	
	public Matrix(boolean q,int zeile, int spalte)
	{
		this.zeile = zeile;
		this.spalte = spalte;
			makeMatrix(q, zeile, spalte);
			
	}

}